// use gio::prelude::*;
use gtk::prelude::*;
use gtk::{Application, ApplicationWindow, Button};
use gtk::{ButtonsType, DialogFlags, MessageType, MessageDialog, Window};


pub fn main() {
    // Create a new application
    let app = Application::builder()
        .application_id("org.gtk.example")
        .build();

    // Connect to "activate" signal of `app`
    app.connect_activate(build_ui);

    // Run the application
    app.run();
}

fn build_ui(app: &Application) {
    // Create a window and set the title
    let window = ApplicationWindow::builder()
        .application(app)
        .title("HelloRust")
        // .set_default_size(350, 70)
        .build();

        // let outer_box = gtk::Box::new(gtk::Orientation::Vertical, 0);
        // let entry: gtk::Entry = gtk::Entry::new();
        // entry.set_size_request(500, 15);
        // entry.set_margin_start(10);
        // entry.set_margin_end(10);
        // entry.set_margin_top(10);
        // entry.set_max_width_chars(20);
        // let confirm_button = Button::with_label("ok");
        // confirm_button.set_size_request(300, 20);
        // confirm_button.set_margin_start(30);
        // confirm_button.set_margin_end(30);
        // confirm_button.set_margin_top(30);
        // let verify_button = Button::with_label("cancel");
        // verify_button.set_size_request(100, 20);
        // verify_button.set_margin_start(30);
        // verify_button.set_margin_end(30);
        // verify_button.set_margin_top(30);
        // outer_box.pack_start(&entry, false, false, 0);
        // outer_box.pack_start(&confirm_button, false, false, 0);
        // outer_box.pack_start(&verify_button, false, false, 0);
        // window.add(&outer_box);

        // // let amount_buffer = entry.get_buffer();
        // confirm_button.connect_clicked(move |_| {
        //     eprintln!("click ok");
        //     MessageDialog::new(None::<&Window>,
        //                DialogFlags::empty(),
        //                MessageType::Info,
        //                ButtonsType::Ok,
        //                "Hello World").run();
        //     eprintln!("hello");
        //     // let re = Regex::new(r"^[0-9]*[1-9][0-9]*$").unwrap();
        //     // let amount = amount_buffer.get_text();
        //     // if re.is_match(&amount) {
        //     //     //输入金额合法
        //     // } else {
        //     //     //请输入正确的金额，需是正整数
        //     // }
        // });
        window.present();
}

